#pragma once
#include "Executable.h"
class Shader :
	public Executable
{
public:
	Shader(GLuint type = GL_VERTEX_SHADER);
	virtual ~Shader();

	virtual bool GetStatus() const override;
	virtual const char* GetStatusMessage() override;

	virtual void Bind() override; // it's actually a compile, no need to be called, it's called automatically by setSource
	virtual void Unbind() override; // does nothing for a shader

	void SetSource(const char* src);
};

